//这是nodejs的写法，不能使用es6的import
const path = require('path');

// module.exports是nodejs的写法，用来导出一个对象进行配置
module.exports = {
  mode: 'development',
  entry: {
    index: './src/index.js',
    another: './src/another-module.js',
  },
  output: {
    filename: '[name].bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  // SplitChunksPlugin 
  // 用于将第三方库（node_modules目录下的）提取到单独的 chunk 文件中
  //代码分离很有帮助的 plugin 和 loader：
  // 使用import()语法实现动态导入就是一个很好的代码分离方式。无需任何额外的插件，就可以实现动态导入。
  //mini-css-extract-plugin：用于将 CSS 从主应用程序中分离。
 optimization: {
   splitChunks: {
     chunks: 'all',
   },
 }
};